Field programmable gate arrays (FPGA's) have been widely used in electronic world. FPGA's are arrays of gates and logic elements that can be programmed to perform desired functions after the FPGA has been manufactured. Typically, an FPGA consists of an array of logic elements, for example, gates, lookup table RAM's, and flip-flops, interconnected together by programmable interconnect wiring. After the circuit chip is made, it can be programmed by users to perform different electronic functions by changing the interconnections and the functions of the individual blocks in the array. This type of circuit has been proven very powerful in new system prototyping and in situations where circuit system functions need be defined in the field. The needs of electronic circuit design met by FPGA's are also present in optical circuit design and it would be desirable to have an FPGA-like structure available to designers of optical systems.